Using Space-filling Curves for Computation Reordering
نویسندگان
چکیده
Space-filling curves have been widely used in mathematics and to transform multi-dimensional problems into one-dimensional forms. For scientific applications, ordering data or computation along spacefilling curves can be useful for exploiting locality when partitioning onto parallel systems or when restructuring to exploit memory hierarchy. In this paper, we present an efficient approach for enumerating points or mapping to points along space-filling curves. We introduce a new table specification, position specification, for mapping to points along space-filling curves. We discuss how this framework can be used for reordering computation. Experiments on three modern microprocessor based platforms show that our algorithm is up to a factor of 72 faster for enumerating points along a curve and up to a factor of 11 faster for mapping to points on the curve than a previous byte-oriented, non-recursive implementation.
منابع مشابه
Mesh reordering in Fluidity using Hilbert space-filling curves
Fluidity is open-source, multi-scale, general purpose CFD model. It is a finite element model using an unstructured mesh which is adapted during the course of a simulation. Reordering of the mesh elements and vertices has been implemented, reordering occurring at input and at each adapt step. For an OpenMP simulation using all 4 UMA regions in a single HECToR node, a 3‒5% performance improvemen...
متن کاملLocality Optimizations For Adaptive Irregular Scientific Codes
Irregular scientific codes experience poor cache performance due to their memory access patterns. We examine several data and computation locality transformations including GPART, a new technique based on hierarchical clustering. GPART constructs quality partitions quickly by clustering multiple neighboring nodes in a few passes, with priority on nodes with high degree. Overhead is kept low by ...
متن کاملRecurrence for Pandimensional Space-Filling Functions
A space-filling function is a bijection from the unit line segment to the unit square, cube, or hypercube. The function from the unit line segment is continuous. The inverse function, while welldefined, is not continuous. Space-filling curves, the finite approximations to space-filling functions, have found application in global optimization, database indexing, and dimension reduction among oth...
متن کاملA new method of estimation of the box-counting dimension of multivariate objects using space-filling curves
Box-counting dimension is one of the most widely used fractal dimensions, because it is relatively easy for empirical estimation. Unfortunately, the task is simple only if one operates on oneor twodimensional data. Otherwise, the amount of computation grows exponentially with the number of space coordinates.A newmethod of estimation of the box-counting dimension of multivariate objects using sp...
متن کاملReordering Columns for Smaller Indexes
Column-oriented indexes—such as projection or bitmap indexes—are compressed by run-length encoding to reduce storage and increase speed. Sorting the tables improves compression. On realistic data sets, permuting the columns in the right order before sorting can reduce the number of runs by a factor of two or more. For many cases, we prove that the number of runs in table columns is minimized if...
متن کامل